package com.zs.zcerp.entrance.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 员工表对应实体类
 */
@Data
@TableName("EP_MAIN")
public class EpMain implements Serializable {

    /*
    后台系统工号
     */
    @TableField("EMPNO")
    @JSONField(name="emp_id")
    private String empId;

    /*
    工号
     */
    @TableField("EMP_NO")
    @JSONField(name="emp_code")
    private String empCode;

    /*
    名字
     */
    @TableField("NAME_T")
    private String name;

    /*
    组织代码
     */
    @TableField("ORG_ID")
    @JSONField(name="org_id")
    private Integer orgId;

    /*
    部门编号
     */
    @TableField("DEPT_NO")
    @JSONField(name="dept_no")
    private String deptNo;

    /**
     * dept_id = org_id + dept_no  门禁上的部门编号
      */
    @TableField(exist = false)
    @JSONField(name="dept_id")
    private String deptId;

    /*
    岗位
     */
    @TableField("WORK_NO")
    @JSONField(name="post_id")
    private String postId;

    /*
    入职日期
     */
    @TableField("IN_DATE")
    @JSONField(format="yyyy-MM-dd", name="hired_date")
    private Date hiredDate;

    /**
     * 员工状态
     * 数据库: 0作废 1正式 2自离 3新进 4离职 5在职
     * 门禁: 0：试用，1：在职，2：待离职，3：离职
      */
    @TableField("STATUS")
    @JSONField(name="emp_state")
    private String empState;

    /*
    离职日期
     */
    @TableField("OUT_DATE")
    @JSONField(format="yyyy-MM-dd", name="emp_leave_date")
    private Date empLeaveDate;

    /*
    电话
     */
    @TableField("INSTEL")
    private String mobile;

    /**
     * 性别
     * 数据库: M：男，F：女
     * 门禁: 0:男, 1: 女
      */
    @TableField("SEX")
    private String gender;

    /*
    出生日期
     */
    @TableField("BIRTHDAY")
    @JSONField(format="yyyy-MM-dd", name="born_date")
    private Date bornDate;

    /*
    级别
     */
    @TableField("JOB_LEVEL")
    @JSONField(name="emp_level")
    private String jobLevel;

    /*
    身份证号码
     */
    @TableField("IC_NO")
    @JSONField(name="cert_code")
    private String certCode;

    /*
    最后更新时间
     */
    @TableField("LAST_DATE")
    private Date lastDate;

    /*
    车牌号
     */
    @TableField(exist = false)
    @JSONField(name="car_no")
    private String carNo;

    /*
    照片
     */
    @TableField(exist = false)
    @JSONField(name="base64")
    private String photo;
}
